package org.jeecg.modules.hr.entity;

import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 人员信息表
 * @Author: xieyanq
 * @Date:   2024-08-28
 * @Version: V1.0
 */
@Data
@TableName("tsl_hr_employee_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="tsl_hr_employee_info对象", description="人员信息表")
public class TslHrEmployeeInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
    /**创建日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
    /**更新日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
    /**所属部门*/
    @Excel(name = "所属部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @ApiModelProperty(value = "所属部门")
    private java.lang.String departCode;
    /**员工编号*/
    @Excel(name = "员工编号", width = 15)
    @ApiModelProperty(value = "员工编号")
    private java.lang.String employeeCode;
    /**员工姓名*/
    @Excel(name = "员工姓名", width = 15)
    @ApiModelProperty(value = "员工姓名")
    private java.lang.String employeeName;
    /**籍贯*/
    @Excel(name = "籍贯", width = 15)
    @ApiModelProperty(value = "籍贯")
    private java.lang.String birthplace;
    /**婚姻状况*/
    @Excel(name = "婚姻状况", width = 15)
    @ApiModelProperty(value = "婚姻状况")
    @Dict(dicCode = "marriage_status")
    private java.lang.Integer marriageStatus;
    /**曾用名*/
    @Excel(name = "曾用名", width = 15)
    @ApiModelProperty(value = "曾用名")
    private java.lang.String previousName;
    /**性别*/
    @Excel(name = "性别", width = 15, dicCode = "sex")
    @Dict(dicCode = "sex")
    @ApiModelProperty(value = "性别")
    private java.lang.Integer sex;
    /**民族*/
    @Excel(name = "民族", width = 15)
    @ApiModelProperty(value = "民族")
    private java.lang.String nation;
    /**年龄*/
    @Excel(name = "年龄", width = 15)
    @ApiModelProperty(value = "年龄")
    private java.lang.Integer age;
    /**出生日期*/
    @Excel(name = "出生日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "出生日期")
    private java.util.Date birthDate;
    /**身份证号*/
    @Excel(name = "身份证号", width = 15)
    @ApiModelProperty(value = "身份证号")
    private java.lang.String idCard;
    /**家庭住址*/
    @Excel(name = "家庭住址", width = 15)
    @ApiModelProperty(value = "家庭住址")
    private java.lang.String address;
    /**户口所在地*/
    @Excel(name = "户口所在地", width = 15)
    @ApiModelProperty(value = "户口所在地")
    private java.lang.String registerLocation;
    /**手机号*/
    @Excel(name = "手机号", width = 15)
    @ApiModelProperty(value = "手机号")
    private java.lang.String telephone;
    /**QQ*/
    @Excel(name = "QQ", width = 15)
    @ApiModelProperty(value = "QQ")
    private java.lang.String qqCode;
    /**电子邮件*/
    @Excel(name = "电子邮件", width = 15)
    @ApiModelProperty(value = "电子邮件")
    private java.lang.String email;
    /**办公电话*/
    @Excel(name = "办公电话", width = 15)
    @ApiModelProperty(value = "办公电话")
    private java.lang.String officeCall;
    /**学历*/
    @Excel(name = "学历", width = 15)
    @ApiModelProperty(value = "学历")
    @Dict(dicCode = "education_background")
    private java.lang.Integer educationBackground;
    /**毕业院校*/
    @Excel(name = "毕业院校", width = 15)
    @ApiModelProperty(value = "毕业院校")
    private java.lang.String graduatedFrom;
    /**专业*/
    @Excel(name = "专业", width = 15)
    @ApiModelProperty(value = "专业")
    private java.lang.String major;
    /**职务*/
    @Excel(name = "职务", width = 15)
    @ApiModelProperty(value = "职务")
    private java.lang.String duties;
    /**岗位*/
    @Excel(name = "岗位", width = 15)
    @ApiModelProperty(value = "岗位")
    @Dict(dictTable = "sys_position", dicText = "name", dicCode = "code")
    private java.lang.String post;
    /**参加工作时间*/
    @Excel(name = "参加工作时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "参加工作时间")
    private java.util.Date firstJobDate;
    /**入职时间*/
    @Excel(name = "入职时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "入职时间")
    private java.util.Date entryDate;
    /**合同类型*/
    @Excel(name = "合同类型", width = 15, dicCode = "employee_contract_type")
    @Dict(dicCode = "employee_contract_type")
    @ApiModelProperty(value = "合同类型")
    private java.lang.Integer contractType;
    /**合同开始日期*/
    @Excel(name = "合同开始日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "合同开始日期")
    private java.util.Date contractStartDate;
    /**合同终止日期*/
    @Excel(name = "合同终止日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "合同终止日期")
    private java.util.Date contractEndDate;
    /**保险说明*/
    @Excel(name = "保险说明", width = 15)
    @ApiModelProperty(value = "保险说明")
    private java.lang.String socialInsurance;
    /**固定工资*/
    @Excel(name = "固定工资", width = 15)
    @ApiModelProperty(value = "固定工资")
    private java.math.BigDecimal fixedSalary;
    /**绩效工资*/
    @Excel(name = "绩效工资", width = 15)
    @ApiModelProperty(value = "绩效工资")
    private java.math.BigDecimal performanceSalary;
    /**考勤编号*/
    @Excel(name = "考勤编号", width = 15)
    @ApiModelProperty(value = "考勤编号")
    private java.lang.String attenceCode;
    /**银行卡号*/
    @Excel(name = "银行卡号", width = 15)
    @ApiModelProperty(value = "银行卡号")
    private java.lang.String bankCardCode;
    /**公司参保时间*/
    @Excel(name = "公司参保时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "公司参保时间")
    private java.util.Date insuranceDate;
    /**参保类型*/
    @Excel(name = "参保类型", width = 15, dicCode = "insurance_type")
    @Dict(dicCode = "insurance_type")
    @ApiModelProperty(value = "参保类型")
    private java.lang.Integer insuranceType;
    /**档案号*/
    @Excel(name = "档案号", width = 15)
    @ApiModelProperty(value = "档案号")
    private java.lang.String fileCode;
    /**照片*/
    @Excel(name = "照片", width = 15)
    @ApiModelProperty(value = "照片")
    private java.lang.String photo;
    /**意外*/
    @Excel(name = "意外", width = 15, dicCode = "accident_pay")
    @Dict(dicCode = "accident_pay")
    @ApiModelProperty(value = "意外")
    private java.lang.Integer accident;
    /**风险金*/
    @Excel(name = "风险金", width = 15, dicCode = "risk_pay")
    @Dict(dicCode = "risk_pay")
    @ApiModelProperty(value = "风险金")
    private java.lang.Integer riskPay;
    /**工龄工资*/
    @Excel(name = "工龄工资", width = 15)
    @ApiModelProperty(value = "工龄工资")
    private java.math.BigDecimal seniorityWage;
    /**附件列表*/
    @Excel(name = "附件列表", width = 15)
    @ApiModelProperty(value = "附件列表")
    private java.lang.String attachment;
    /**证书取得*/
    @Excel(name = "证书取得", width = 15)
    @ApiModelProperty(value = "证书取得")
    private java.lang.String certificates;
    /**工作经历*/
    @Excel(name = "工作经历", width = 15)
    @ApiModelProperty(value = "工作经历")
    private java.lang.String workExperience;
    /**学习经历*/
    @Excel(name = "学习经历", width = 15)
    @ApiModelProperty(value = "学习经历")
    private java.lang.String educationExperience;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String remark;
}



